package com.lsc.record.core.service;

import java.util.List;
import java.util.Set;

import com.lsc.record.core.entity.DmTypeAttr;
import com.lsc.record.core.entity.TableEntity;
import com.lsc.record.core.entity.TableField;

public interface TableQueryServcie {
	
	/**
	 * 获取当前数据库用户名下的数据库表
	 * @return
	 */
	public List<TableEntity> list();
	
	/**
	 * 获取当前数据库用户名下的数据库表
	 * @param hasRelation 是否加载字段
	 * @return
	 */
	public List<TableEntity> list(boolean hasRelation);

	/**
	 * 获取表的字段信息
	 * @param tableName
	 * @return
	 */
	public List<TableField> fields(String tableName);
	
	/**
	 * 获取表的字段名集合
	 * @param tableName
	 * @param isLowerCase 是否要转换成小写
	 * @return
	 */
	public Set<String> fieldsKeys(String tableName,boolean isLowerCase);

	public void addField(String tableName,DmTypeAttr attr);
}
